package com.wzxy.medical_backed.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.util.Date;

@Data
@TableName("reimbursement") // 表名与数据库一致
public class Reimbursement {

    // 主键：对应表中 id 字段（bigint(20)，自动递增）
    @TableId(type = IdType.AUTO) // 自动递增策略
    private Long id;

    // 身份证号：对应表中 card_id 字段（varchar(25)）
    @TableField("card_id") // 显式指定数据库字段名（驼峰转下划线）
    private String cardId;

    // 参合人姓名：对应表中 insured_name 字段（varchar(25)）
    @TableField("insured_name")
    private String insuredName;

    // 慢性病名称：对应表中 medical_name 字段（varchar(30)）
    @TableField("medical_name")
    private String medicalName;

    // 地址：对应表中 address 字段（varchar(50)）
    @TableField("address")
    private String address;

    // 报销金额：对应表中 reimbursement_amount 字段（double）
    @TableField("reimbursement_amount")
    private Double reimbursementAmount;

    // 总费用：对应表中 total_cost 字段（double）
    @TableField("total_cost")
    private Double totalCost;

    // 发票号：对应表中 invoice_no 字段（varchar(25)）
    @TableField("invoice_no")
    private String invoiceNo;

    // 日期：对应表中 date 字段（date）
    @TableField("date")
    private Date date;

    // 审核状态：对应表中 is_reimbursement 字段（varchar(20)）
    @TableField("is_reimbursement")
    private String isReimbursement;

    // 汇款状态：对应表中 is_remit 字段（varchar(20)）
    @TableField("is_remit")
    private String isRemit;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getInsuredName() {
        return insuredName;
    }

    public void setInsuredName(String insuredName) {
        this.insuredName = insuredName;
    }

    public String getMedicalName() {
        return medicalName;
    }

    public void setMedicalName(String medicalName) {
        this.medicalName = medicalName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Double getReimbursementAmount() {
        return reimbursementAmount;
    }

    public void setReimbursementAmount(Double reimbursementAmount) {
        this.reimbursementAmount = reimbursementAmount;
    }

    public Double getTotalCost() {
        return totalCost;
    }

    public void setTotalCost(Double totalCost) {
        this.totalCost = totalCost;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public String getIsReimbursement() {
        return isReimbursement;
    }

    public void setIsReimbursement(String isReimbursement) {
        this.isReimbursement = isReimbursement;
    }

    public String getIsRemit() {
        return isRemit;
    }

    public void setIsRemit(String isRemit) {
        this.isRemit = isRemit;
    }


    //  toString() 方法保持不变（自动生成即可）
    @Override
    public String toString() {
        return "Reimbursement{" +
                "id=" + id +
                ", cardId='" + cardId + '\'' +
                ", insuredName='" + insuredName + '\'' +
                ", medicalName='" + medicalName + '\'' +
                ", address='" + address + '\'' +
                ", reimbursementAmount=" + reimbursementAmount +
                ", totalCost=" + totalCost +
                ", invoiceNo='" + invoiceNo + '\'' +
                ", date=" + date +
                ", isReimbursement='" + isReimbursement + '\'' +
                ", isRemit='" + isRemit + '\'' +
                '}';
    }
}